Arithmetic coding used in H.264/advanced video coding (AVC) and high efficiency video coding (HEVC) employs binary codes and a simplified arithmetic coding engine. Such a method is referred to as context-adaptive binary arithmetic coding (CABAC). CABAC is a low-complexity algorithm but still places a considerable load on a processor. Therefore, CABAC is frequently processed by hardware at high speed.
The same arithmetic coding engine was adopted as standards of H.264/AVC and HEVC. However, although H.264/AVC and HEVC share the basic arithmetic coding engine, their control and data flow for decoding differ from each other. Therefore, when H.264/AVC and HEVC are processed by hardware, different pieces of decoding hardware should be manufactured.